<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>03_数组</title>
  </head>
  <body>
    <script>
      /* 
      数组与普通对象的区别?
      数组的常用方法
      */

      /* 
      需求:
      得到所有商品名与价格的数组, 且价格都翻倍
      得到所有价格大于88的所有商品
      找到一个价格小于90的商品
      得到所有价格大于88的所有商品的价格总和
      找到一个价格小于90的商品的下标
      判断是否所有商品价格都小于80
      判断是否有价格小于80的商品
      */
      const products = [
        { id: 1, name: 'A', price: 100 },
        { id: 2, name: 'B', price: 85 },
        { id: 3, name: 'C', price: 90 },
        { id: 4, name: 'D', price: 75 },
        { id: 5, name: 'E', price: 88 },
      ];
    //   得到所有商品名与价格的数组, 且价格都翻倍
        // console.log(products.map(p =>({name:p.name, price:p. price*2 })))
        // 得到所有价格大于88的所有商品
        console.log(products.filter(p =>(p.price>88)))
        // 找到一个价格小于90的商品
        console.log(products.find(p=>(p.price<90)))
        // 得到所有价格大于88的所有商品的价格总和
        console.log(products.reduce((pre,res)=>pre +(res.price>88? res.price : 0),0))
        // 找到一个价格小于90的商品的下标
        console.log(products.findIndex(p =>(p.price<90)))
        // 判断是否所有商品价格都小于80
        console.log(products.every(p=>(p.price<80)))
        // 判断是否有价格小于80的商品
        console.log(products.some(p=>(p.price<80)))
        // console.log(products)
      
    </script>
  </body>
</html>
